# 编写一个Python程序: - 创建一个图书管理系统，实现以下功能：
# 1. 图书类 Book：属性包括书名（title）、作者（author）和出版日期（publish_date），方法包括获取书名、获取作者和获取出版日期的方法。
# 2. 图书馆类 Library：属性包括图书列表（books），方法包括添加图书、借出图书、归还图书和显示所有图书的方法。
# 3. add_book 方法：接受一个 Book 类型的参数，将其添加到图书列表中。
# 4. borrow_book 方法：接受一个字符串类型的参数（书名），找到对应书名的图书，并将其从图书列表中移除。
# 5. return_book 方法：接受一个 Book 类型的参数，将其添加到图书列表中。
# 6. show_books 方法：输出当前图书馆中所有图书的书名、作者和出版日期。

class Book:
    def __init__(self, title, anthor, publish_date):
        self.title = title
        self.author = anthor
        self.publish_date = publish_date

    def get_title(self):
        return self.title

    def get_anthor(self):
        return self.author

    def get_publish_date(self):
        return self.publish_date


class Library:
    def __init__(self):
        self.book_list = []

    def add_book(self, book):
        self.book_list.append(book)

    def borrow_book(self, title):
        for book in self.book_list:
            if book.get_title() == title:
                self.book_list.remove(book)
                return book

    def return_book(self, book):

        self.book_list.append(book)

    def show_books(self):
        for book in self.book_list:
            print(book.get_title())
            print(book.get_anthor())
            print(book.publish_date)


if __name__ == '__main__':
    book1 = Book("Python编程入门", "张三", "2021-01-01")
    book2 = Book("Java编程基础", "李四", "2021-02-01")
    book3 = Book("C++高级编程", "王五", "2021-03-01")

    ziming = Library()

    ziming.add_book(book1)
    ziming.add_book(book2)
    ziming.add_book(book3)
    ziming.show_books()

    n = ziming.borrow_book("Python编程入门")

    ziming.return_book(n)
    ziming.show_books()
